#ifndef _NETWORK_INTERFACE_H_
#define _NETWORK_INTERFACE_H_

#define MAX_INTERFACE_NUMS 16

typedef struct interface{
    // 网卡名称
    unsigned char if_name[20];
    
    unsigned char if_ipaddr[4];   // IP地址
    unsigned char if_hwaddr[6];    // mac地址
    unsigned char if_netmask[4];   // 子网掩码
    unsigned char if_brd_ip[4];    // 广播地址
    int  flag;			//状态
}INTERFACE;


extern INTERFACE net_interfaces[MAX_INTERFACE_NUMS];

/******************************************
 
  功能：获取网卡接口数量
  参数：无
 ******************************************/
extern int get_interface_num();



/******************************************
 
  功能：扫描所有网卡接口，并获取网卡接口信息
  参数：无
 ******************************************/
extern void scan_all_interface();




/******************************************************************
函	数:	int find_network_segment_bydstip(unsigned char *ip)
功	能:	根据目的ip查找对应网段
参	数:	unsigned char *ip 目的IP
返回值: 网段编号
*******************************************************************/
extern int find_network_segment_bydstip( char* ip);



#endif
